package valueobject

import (
	"BookStack/pkg/errors"
)

// ValidatePassword 验证密码格式
func ValidatePassword(password string) error {
	if password == "" {
		return errors.New(errors.ErrCodePasswordRequired, "")
	}

	// 检查长度
	if len(password) < 6 || len(password) > 20 {
		if len(password) < 6 {
			return errors.New(errors.ErrCodePasswordMinLength, "")
		}
		return errors.New(errors.ErrCodePasswordMaxLength, "")
	}

	// 预留：检查密码强度
	// // 检查是否包含大写字母
	// hasUpper := regexp.MustCompile(`[A-Z]`).MatchString(password)
	// // 检查是否包含小写字母
	// hasLower := regexp.MustCompile(`[a-z]`).MatchString(password)
	// // 检查是否包含数字
	// hasDigit := regexp.MustCompile(`[0-9]`).MatchString(password)

	// if !hasUpper || !hasLower || !hasDigit {
	// 	return errors.New(errors.ErrCodeValidation, "密码格式不正确，必须包含大小写字母和数字")
	// }

	return nil
}
